변수의 타입
크게 기본형과 참조형으로 나눌 수 있다
기본형(Primitive Type)
실제 값(data)을 저장한다
boolean, char, byte, shrot, int, long, float, double
참조형(Reference Type)
어떤 값이 저장되어 있는 주소를 값으로 갖는다
자바는 C언어와 달리 참조형 변수 간의 연산을 할 수 없다
그래서 실제 연산에 사용되는 것은 모두 기본형 변수이다
8개의 기본형 타입을 제외한 나머지는 모두 참조형 타입이다
모든 참조형은 종류에 관계없이 객체의 주소값을 저장할 4byte, 8byte 의 메모리를 할당받는다
(32bit JVM은 4byte를, 64bit JVM은 8byte이다)
참조형 변수 선언
변수의 타입으로 클래스의 이름을 사용하므로, 클래스의 이름이 변수 타입이 된다
Date today = null;
today = new Date();
참조 변수는 null 또는 객체의 주소를 값으로 갖는다
속도 비교
기본형은 스택 메모리에 값 자체를 저장하므로 접근이 빠르고,
참조형은 참조를 스택 메모리에 저장 후 실제 값은 힙(Heap) 메모리에 저장하므로
값을 사용할 때마다 언박싱을 거쳐 느리다